home *** CD-ROM | disk | FTP | other *** search
- /*
- * print a state for debugging to stdout
- * by Aaron Wohl (aw0g+@andrew.cmu.edu) jul 1990
- * Carnegie-Mellon University
- * Special Projects
- * Pittsburgh, PA 15213-3890
- * (412)-268-5032
- */
-
- #include <stdio.h>
- #include "mmc_core.h"
- #include "mmc_print_state.h"
-
- static char *fnames[]={
- "error",
- "are_open",
- "want_open",
- "have_mail",
- "u0",
- "u1",
- "really_want",
- "connected",
- "iopend",
- "debug",
- 0
- };
-
- LDEF(print_flags(long aflag))
- {
- char *sep="";
- long i;
- char **scan=fnames;
- for(i=1;(*scan)!=0;i<<=1,scan++)
- if((i&aflag)!=0) {
- printf("%s%s",sep,*scan);
- sep=", ";
- }
- }
-
- void mmc_print_state(mmc_state_pt s)
- {
- printf("mver=%d minver=%d remind=%ld\n",
- s->mmc_st_maj_ver,
- s->mmc_st_min_ver,
- s->mmc_remind_time);
- printf("uname=%s\n",
- s->mmc_uname);
- printf(" errkind=%d lsys=%d cnum=%lx\nflags:",
- s->mmc_last_err_kind,
- s->mmc_last_err_syserr,
- s->mmc_check_num);
- print_flags(s->mmc_st);
- printf("\ntstate='%s'\n",s->mmc_text_state);
- }
-